package com.example.baiduai.service;

import com.baidu.aip.speech.AipSpeech;
import com.baidu.aip.speech.TtsResponse;
import com.baidu.aip.util.Base64Util;
import com.example.baiduai.factory.AipFactory;
import org.json.JSONObject;

import java.util.HashMap;

/**
 * @author wangyizhu
 * @version "1.8.0_131"
 * @email 2641956765@qq.com
 * @desc:
 * @Time 2022/09/24 13:03
 */
public class SpeechService {
    /**
     * 短文本语言合成
     *
     * @param content
     * @param spd
     * @param pit
     * @param vol
     * @param per
     * @return
     */
    public String audio_merge(String content, String spd, String pit, String vol, String per) {
        HashMap<String, Object> options = new HashMap<String, Object>();
        options.put("spd", spd);
        options.put("pit", pit);
        options.put("vol", vol);
        options.put("per", per);
        AipSpeech client = AipFactory.getAipSpeechInstance();
        TtsResponse res = client.synthesis(content, "zh", 1, options);
//        JSONObject result = res.getResult();    //服务器返回的内容，合成成功时为null,失败时包含error_no等信息
        byte[] data = res.getData();            //生成的音频数据
        //4.将处理结果
        //base64编码格式的形式返回
        String base64Data = Base64Util.encode(data);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data", base64Data);
        return (jsonObject.toString());
    }

    public String longaudio_merge(String content) {
        return "";
    }
}
